Learning Objectives

After completing this lesson, you’ll be able to:

Note

Learning content in the FME Academy presents a user story that addresses their data integration challenges with FME. You should follow along with their actions using your FME installation (2026.1 or later) or request an on-demand virtual machine. Some lessons will require you to follow their steps or take additional steps to answer a quiz question.

The Resources section will provide links to interactive tutorials and starting workspaces when necessary.

Instructions

In this lesson, you will:

Terminology

Transformer
An FME Workbench object that carries out feature restructuring. There are hundreds of different transformers that perform different types of restructuring. Transformers are primarily used to transform data, changing its content or structure. However, some transformers can also read data.
Schema

A schema is a formal definition of a dataset’s structure, including table names, attribute names, and attribute data types (e.g., text, integer, float). With spatial data, the geometry type (point, line, polygon, etc.) is also considered part of the schema. You might also hear this referred to as a data model.

Resources

Scenario

Jennifer

Jennifer is a GIS Specialist working for a local government. She needs to read business license data from an API and write it to an Esri geodatabase, a widely used spatial database. The API is used internally, while the geodatabase is used in public-facing applications. Therefore, she wants to edit the attribute names and filter out features with revoked business licenses from the final geodatabase to ensure the data is appropriate for public display.

Jennifer is working with the same BusinessOwners dataset as Sven in the previous course, but she’s reading it from an API rather than an Excel spreadsheet.

So far, we've been using readers to read data. However, in some cases, you will read data using transformers. Transformers are primarily used to transform data, changing its content or structure. However, some transformers can also read data.

In this exercise, we'll learn how to read web data and use transformers to transform its content and structure.

1) Start FME Workbench

New button

2) Add an HTTPCaller

The standard way to make an API call using FME is with the HTTPCaller transformer. 

HTTPCaller on Canvas

3) Configure the HTTPCaller

Request URL

4) Test the HTTPCaller

It is vital to test transformers after configuring them. Normally, you can just run the transformer you just configured and then inspect the output in Data Preview to ensure it is correct. However, the HTTPCaller includes a special Send Test Request button we can use to test our query without running the workspace.

HTTPCaller Send Test Request button

The HTTP Test Request Preview dialog opens. At this point, if the request required test values, we could enter them. 

Viewing test response JSON

Looks good! We get back JSON with the business owner information.

5) View HTTPCaller Response Attribute

The HTTPCaller feature cache

Formatting response as JSON

Now, we can examine the response to understand its structure. You can see that it consists of an array of JSON objects, indicated by the opening and closing square braces []. Each object has attribute-value pairs with a predictable schema. It also contains some geometry information.

{
    "json_featuretype": "BusinessOwners",
    "First": "Garth",
    "Last Name": "Garrett",
    "Company": "Hendrerit Consectetuer Cursus Industries",
    "License Number": "8BCB7F",
    "Longitude": -123.1006079306,
    "Latitude": 49.24906160267,
    "json_ogc_wkt_crs": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]",
    "json_geometry": {
        "type": "Point",
        "coordinates": [
            -123.1006079306,
            49.2490616027
        ]
    }
}

This response matches her expectations. Our goal is to convert these JSON attribute-value pairs into FME features.

Learn More

Leave Us Feedback on This Lesson